﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace HdRSpielbox
{
    public partial class StartScreen : Form
    {
        public Spiel LaufendesSpiel;

        //Spielauswahl mit Spielen füllen

        public StartScreen()
        {
            InitializeComponent();
            cboxSpiel.Items.Add("Memory");
            cboxSpiel.Items.Add("Leiterli");
            cboxSpiel.Items.Add("Mühle");

        }

        public void On_Spiel_Closing(object sender, FormClosingEventArgs e)
        {
            this.Show();
        }
        //Bilder einfügen für Design

        protected override void OnPaint(PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            Bitmap Hintergrund = new Bitmap("images\\Text\\ir_Gandalf_006.png");
            g.DrawImage(Hintergrund, 0, 0);

            Bitmap AnzahlSpieler = new Bitmap("images\\Text\\spieler_waehlen.png");
            g.DrawImage(AnzahlSpieler, 10, 20);

            Bitmap Spiel = new Bitmap("images\\Text\\spieleranz_waehlen.png");
            g.DrawImage(Spiel, 10, 90);
   
        }

        //Generieren der Spiele

        public void Start()
        {
            switch ((string)cboxSpiel.SelectedItem)
            {
                case "Memory":
                    LaufendesSpiel = new Memory.Memory();
                    break;
                case "Leiterli":
                    LaufendesSpiel = new Leiterli.Leiterli();
                    break;
                case "Mühle":
                    LaufendesSpiel = new Muehle();
                    break;
            }
            
            //Generieren der PlayerAuswahl

            if (LaufendesSpiel != null)
            {
                LaufendesSpiel.Init();
                LaufendesSpiel.Window.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.On_Spiel_Closing);
                this.Hide();
                PlayerAuswahl p = new PlayerAuswahl(LaufendesSpiel,(int)numAnzSpieler.Value);

            }
        }

        //Überprüfung der Auswahl

        private void btnStarten_Click(object sender, EventArgs e)
        {
            if (cboxSpiel.SelectedItem == null)
            {
                MessageBox.Show("Bitte wählen sie ein Spiel aus.");
            }
            else
            {
                Start();
            }
        }

        //Beschränkungen der Spieleranzahl für die verschiedenen Spiele

        private void cboxSpiel_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch ((string)cboxSpiel.SelectedItem)
            {

                case "Memory":
                    numAnzSpieler.Maximum = 4;
                    numAnzSpieler.Minimum = 2;
                    break;
                case "Leiterli":
                    numAnzSpieler.Maximum = 4;
                    numAnzSpieler.Minimum = 2;
                    break;
                case "Mühle":
                    numAnzSpieler.Maximum = 2;
                    numAnzSpieler.Minimum = 2;
                    break;
            }
        }


    }
}
